Method and apparatus for quick modem reconnect

ABSTRACT

A quick startup procedure for a modem system utilizes known characteristics of a previously established communication channel to reduce the initialization period associated with subsequent connections over the same channel. In response to the establishment of a call, the modem devices determine whether the quick connect protocol is supported. If so, then the called modem transmits a modified answer tone to the calling modem. The calling modem analyzes the signal received in response to the modified answer tone to determine whether characteristics of the current channel are similar to stored characteristics associated with a previous connection over the same channel. If a channel “match” is found, then the modem devices carry out a quick initialization routine that eliminates, abbreviates, or modifies a number of procedures or protocols that are carried out in conventional modem startup processes. The general quick startup techniques may also be applied in the context of a quick reconnect procedure that can be performed in response to a temporary pausing or disconnecting of the data modem mode.

RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application Ser.No. 60/128,874, filed Apr. 12, 1999. This application is a Continuationof U.S. application Ser. No. 09/394,018, filed Sep. 10, 1999 now U.S.Pat. No. 6,768,791 which is a Continuation-In-Part of U.S. applicationSer. No. 09/361,842, filed Jul. 27, 1999 now U.S. Pat. No. 6,819,749.

FIELD OF THE INVENTION

The present invention relates generally to modem systems. Moreparticularly, the present invention relates to the initialization andreconnection of a V.90 modem system.

BACKGROUND OF THE INVENTION

56 kbps modems are now standardized in accordance with the ITU V.90Recommendation. However, many 56 kbps modems, particularly end usermodems, may only be compatible with legacy modes such as K56flex, V.34,V.FC, and V.32. Such legacy modems, and downwardly compatible V.90modems, may have an undesirably long connect or initialization timebetween dial-up and full rate data mode. The startup time can be up to30 seconds, which can be rather annoying and unattractive from theperspective of the end user, especially in light of other datacommunication protocols that appear to operate in an “always connected”manner.

V.90 modems that support legacy modem protocols typically perform thefunctions shown in Table 1 during initialization. The time periodsassociated with the operations set forth in Table 1 may vary fromconnection to connection depending upon various factors such as theserver speed and channel conditions.

TABLE 1 Conventional V.90 Modem Startup PROTOCOL OPERATION TIME(seconds) — Dialing 1 — Call Establishment 1 V.8bis CapabilitiesExchange 3.5 V.8 Capabilities Exchange 3.5 V.90 Phase 2 Probing &Ranging 1.5 V.90 Phase 3 Digital Impairment Learning; 8.5 Initial APCMTraining V.90 Phase 4 Final APCM Training; 2.5 Set Power Levels;Constellation Transmission V.42/V.42bis Error Correction; 0.5 DataCompression — Login 0.5–5 TOTAL = 22.5–27.0

The V.8bis operation includes a relatively long timeout period thatencompasses much of the time period associated with the operation. Thisoperation is described in detail in ITU-T Recommendation V.8bis(International Telecommunication Union, August 1996), the content ofwhich is incorporated by reference herein. The V.8bis protocol is anextension of the V.8 protocol, as described in ITU-T Recommendation V.8(International Telecommunication Union, February 1998), the content ofwhich is incorporated by reference herein. In accordance with V.8bisand/or V.8, the two modem devices exchange their individual capabilitiessuch that compatible protocols may be utilized during subsequentinitialization and data communication procedures.

The various V.90 startup phases are utilized to determine the analog anddigital channel characteristics, to train the modem equalizers, and tootherwise attempt to optimize the current communication session. Thedetails of the V.90 startup phases and other aspects of a V.90 modemsystem may be found in ITU-T Recommendation V.90 (InternationalTelecommunication Union, September 1998), the content of which isincorporated by reference herein. Although a portion of the V.90 startupsegments shown in Table 1 are required without regard to the location orstatus of the client modem, many of the operations could be eliminatedor shortened upon repeated connections associated with the same (ornearly identical) channel characteristics.

In a conventional V.90 modem system, error correction and datacompression techniques are performed during the V.42/V.42bis stage. Thespecifics of V.42 are contained in ITU-T Recommendation V.42(International Telecommunication Union, October 1996), the content ofwhich is incorporated by reference herein. The specifics of V.42bis arecontained in ITU-T Recommendation V.42bis (InternationalTelecommunication Union, January 1990), the content of which isincorporated by reference herein. The V.42 operation is desirable suchthat the modem system can perform the login procedure in a substantially“error free” mode. The login procedure may be conducted with CHAP andPAP protocols; both are utilized for security purposes in the context ofpoint-to-point protocol (“PPP”) connections, e.g., a connection betweena client computer and an internet service provider server. From theperspective of the V.90 modem devices, the login information istransmitted as data. Once the login procedure is performed, the dial-upconnection is complete and data may be transmitted between the serverand the host software associated with the client.

The widespread use of the internet as a daily research, entertainment,and communication tool has increased the deployment of 56 kbps modems.However, many channels can only support legacy modes such as V.34. Thus,although most newer modems particularly those sold with new personalcomputers) are compatible with the V.90 Recommendation, many legacymodes are still in use. The long initialization period associated withV.90 modems that fall back into legacy modes may be annoying andundesirable in many applications and can be a serious hindrance where auser would like to establish an immediate connection after anunanticipated disconnect. In addition, even in the context of aconnection between two V.90 modem devices, the long V.90 startup phasesmay test the mettle of an impatient end user. Accordingly, it would behighly desirable to reduce the initialization time normally associatedwith a conventional V.90 modem system.

A given modem communication session may be interrupted or disconnectedfor any number of reasons. For example, a call waiting signal maydisrupt a modem connection to the extent that the modem call must eitherbe reconnected or reinitialized. As another example, it may be possibleto place a current modem connection on hold to enable the user to answeran incoming call in response to a call waiting signal or to enable theuser to place an outgoing call without disconnecting the modemconnection. Ideally, the modem connection could be re-established in aninstantaneous manner. However, in a practical system, a retraining orreinitialization procedure must be carried out to ensure that the twoend devices are properly synchronized and to ensure that the channel isadequately equalized. As discussed above, conventional V.90 modemsystems may spend more than 20 seconds during such retraining andreinitialization. Accordingly, it would also be desirable to reduce thereconnection time between the same modem devices in response to atemporary disconnect or a temporary pause in the data communication.

SUMMARY OF THE INVENTION

The present invention provides techniques to shorten the startup andreconnection times associated with a data communication system thatemploys a modem. The quick reconnect technique leverages the knownchannel characteristics of a previous connection to reduce thereinitialization period associated with subsequent attempts to reconnectthe same two modem devices. In accordance with one illustrativeembodiment, the techniques of the present invention are utilized toreduce the reconnection time for a communication session that follows anupper layer protocol, e.g., PPP. Although not limited to any specificmodem application, the quick startup and reconnect procedures may beused to eliminate portions of the initialization protocols or processesnormally employed by a V.90 modem, e.g., V.8bis, V.8, digital impairmentlearning, initial training, probing and ranging, or the like. Inaddition, the quick startup and reconnect techniques may perform certainoperations at a different time or in a different order in comparison toa conventional modem startup technique.

The above and other aspects of the present invention may be carried outin one form by a method for reducing the reconnection time associatedwith a data transmission system having a first device configured tocommunicate with a second device over a communication channel. Theillustrative method involves establishing a communication sessionbetween the first device and the second device over the communicationchannel, obtaining a number of operating parameters for the datatransmission system, where the operating parameters are associated withthe communication channel, and storing at least one of the operatingparameters at the second device. After a temporary pause in thecommunication session, the operating parameters are recalled at thesecond device.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention may be derived byreferring to the detailed description and claims when considered inconnection with the Figures, where like reference numbers refer tosimilar elements throughout the Figures, and:

FIG. 1 is a block diagram depicting a general modem system environmentcapable of supporting point-to-point protocol (“PPP”) connections;

FIG. 2 is a flow diagram of a general quick startup process according tothe present invention;

FIG. 3 is a block diagram depicting an illustrative modem systemconfigured in accordance with the present invention;

FIG. 4 is a flow diagram illustrating portions of a quick startupprocess performed by two modem devices;

FIG. 5 is a timing diagram corresponding to a quick startup processperformed by two modem devices;

FIG. 6 is a timing diagram corresponding to a quick reconnect processperformed by two modem devices; and

FIG. 7 is a flow diagram illustrating a quick reconnect processperformed by two modem devices.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

The present invention may be described herein in terms of functionalblock components and various processing steps. It should be appreciatedthat such functional blocks may be realized by any number of hardwarecomponents configured to perform the specified functions. For example,the present invention may employ various integrated circuit components,e.g., memory elements, digital signal processing elements, logicelements, look-up tables, and the like, which may carry out a variety offunctions under the control of one or more microprocessors or othercontrol devices. In addition, those skilled in the art will appreciatethat the present invention may be practiced in any number of datacommunication contexts and that the modem system described herein ismerely one illustrative application for the invention. Further, itshould be noted that the present invention may employ any number ofconventional techniques for data transmission, signaling, signalprocessing and conditioning, and the like. Such general techniques thatmay be known to those skilled in the art are not described in detailherein.

It should be appreciated that the particular implementations shown anddescribed herein are merely exemplary and are not intended to limit thescope of the present invention in any way. Indeed, for the sake ofbrevity, conventional encoding and decoding, timing recovery, automaticgain control (“AGC”), synchronization, training, and other functionalaspects of the data communication system (and components of theindividual operating components of the system) may not be described indetail herein. Furthermore, the connecting lines shown in the variousfigures contained herein are intended to represent exemplary functionalrelationships and/or physical couplings between the various elements. Itshould be noted that many alternative or additional functionalrelationships or physical connections may be present in a practicalcommunication system.

FIG. 1 is a block diagram depicting a general modem system 100 in whichthe techniques of the present invention may be practiced. For purposesof this description, modem system 100 is assumed to be capable ofsupporting connections associated with an upper layer protocol, e.g.,point-to-point protocol (“PPP”) connections. PPP connections aretypically associated with internet communications between, e.g., anindividual end user and an internet service provider. In this respect,modem system 100 includes a plurality of server modems (identified byreference numbers 102 a, 102 b, and 102 n) and a client modem 104.Server modems 102 may each be associated with an internet serviceprovider or any suitable data source. Client modem 104 may be associatedwith a suitable data source, e.g., a personal computer capable ofrunning host software 105. For purposes of this description, hostsoftware 105 may be an operating system such as MICROSOFT WINDOWS, orany application program capable of functioning in conjunction with modemsystem 100. Although not shown in FIG. 1, client modem 104 may beintegrated with the personal computer.

In the context of this description, modem system 100 may employ 56 kbpsmodems that are compatible with the V.90 Recommendation, legacy 56 kbpsprotocols, the V.34 Recommendation, or the like. Although the presentinvention is described herein in the context of a V.90 modem system, thetechniques can be equivalently applied in a V.34 modem system or in anynumber of legacy modem systems. V.90 or 56 kbps modem devices aresuitable for use in modem system 100 where a given server modem 102utilizes a digital connection 106 to the digital telephone network 108.The client modem 104 is connected to a local central office 110 via ananalog local loop 112. Thus, the communication channel establishedbetween client modem 104 and any server modem 102 is digital up to thecentral office 110. Thereafter, the digital signals are converted to ananalog signal for transmission over the local loop 112.

If an end user desires to establish an internet connection, hostsoftware 105 may perform any number of operations in response to a usercommand. For example, host software 105 may prompt client modem 104 todial the telephone number associated with server modem 102 a (which, forthis example, is the server modem associated with the user's internetservice provider). Server modem 102 a and client modem 104 perform ahandshaking routine that initializes the equalizers, echo cancelers,transmit power levels, data rate, and possibly other operationalparameters associated with the current communication channel. Inaddition, host software 105 may cause client modem 104 to transmit andreceive authentication data that enables the user to log onto theinternet via the service provider. As mentioned above, theauthentication data may be exchanged between server modem 102 a andclient modem 104 in accordance with the known CHAP or PAP techniques. Inan alternate embodiment that employs a non-PPP upper layer protocol, asuitable login procedure may be conducted instead of the CHAP or PAPprocedures.

As discussed previously, the dial-up connection time (and reconnectiontime) associated with conventional modem systems may be undesirablylong. The present invention takes advantage of the repeated use of acommunication channel between modem devices, e.g., the communicationchannel that is established between server modem 102 a and client modem104. Assuming that client modem 104 is associated with a desktoppersonal computer resident at a specific location, the connection to anygiven server modem 102 will necessarily be established over the sameanalog communication channel. In other words, client modem 104 willalways establish an analog channel between the user premises and centraloffice 110. Disregarding slight variations in the analog channel due totemperature and other environmental effects, the initialization ofclient modem 104 (with respect to the analog channel) will remainsubstantially constant from connection to connection.

FIG. 2 is a flow diagram of a general quick startup process 200 that maybe performed by a data communication system such as modem system 100. Ina practical system, process 200 may be cooperatively performed by servermodem 102, client modem 104, host software 105, and/or any functionalcomponent of modem system 100. In addition, process 200 may be realizedin the context of an overall initialization procedure that follows anynumber of conventional modem protocols.

Quick startup process 200 may begin with a task 202, which relates tothe establishment of a call between client modem 104 and a server modem102. In the context of this example, client modem 104 is considered tobe the calling device. Accordingly, host software 105 and/or clientmodem 104 dials the telephone number associated with, e.g., server modem102 b. Assuming that server modem 102 b is capable of making anadditional connection, it will go off hook and generate a suitableanswer tone in a conventional manner. When both modem devices are offhook and communicating with each other, a communication channel isestablished via digital connection 106, telephone network 108, centraloffice 110, and analog local loop 112. The dialing, ringing, andanswering procedures utilized during task 202 may follow conventionalprotocols.

Following task 202, a query task 204 may be performed by modem system100 to ascertain whether a quick connect protocol is supported. Querytask 204 may be necessary to enable different server modems anddifferent client modems to be interoperable and compatible. For example,server modem 102 b may be a V.90 modem device that supports the quickconnect features of the present invention, while client modem 104 may bea legacy 56 kbps modem device that does not support the quick connectfeatures. Portions of query task 204 may be performed by server modem102 b or client modem 104. An illustrative technique for performingquery task 204 is described in detail below. Task 204 may beequivalently performed when client modem 104 initiates the call or whenserver modem 102 initiates the call.

If query task 204 determines that the quick connect protocol is notsupported by both modem devices, then a task 206 may follow. Task 206prompts modem system 100 to begin a conventional initialization routine.For example, in the context of a V.34 or V.90 modem system, task 206 maybegin a capabilities exchange protocol such as V.8bis. Alternatively,some modem systems may only implement the V.8 capabilities exchangeprotocol. Older legacy modem systems may skip the V.8 and V.8bisprocedures altogether and perform an appropriate initialization routineaccording to the legacy mode. Following task 206, modem system 100 mayconduct a known startup procedure in accordance with an applicable modemspecification. For example, if modem system 100 supports V.90, then task208 may be associated with conventional V.90 equalizer training, echocanceler training, constellation design, power level verification, andother startup operations. If tasks 206 and 208 are performed, then thestartup time associated with the communication session is essentiallythe same as the startup time for a conventional V.90 connection.

If query task 204 determines that the quick connect protocol is fullysupported, then a query task 210 may also be performed. Query task 210tests whether the characteristics of the established communicationchannel are similar to corresponding characteristics of a previouslyestablished communication channel. Briefly, query task 210 compares oneor more attributes of a received sequence to stored attributes of apreviously received sequence associated with the previously establishedchannel. The received signal conveys information regarding thecharacteristics of the communication channel. In particular, thereceived signal conveys information relative to analog local loop 112.

In the illustrative embodiment described herein, where one modem deviceis connected digitally to the digital telephone network 108, analoglocal loop 112 affects signals in a substantially consistent manner fromconnection to connection. Although the analog characteristics will besimilar for repeated connections to the same server modem 102, slightvariations in temperature, humidity, other environmental changes,physical changes in the system hardware, and other operationalparameters contribute to random fluctuations in the current channelcharacteristics used for comparison purposes. Nonetheless, thecomparison procedure performed during query task 210 is preferablydesigned to accommodate such fluctuations. For purposes of thisdescription, “similar” characteristics means that query task 210 willassume that the current channel matches a previous channelnotwithstanding normal variations due to the uncontrollable andunpredictable factors mentioned above.

If query task 210 determines that the parameters of the currentcommunication channel do not match the parameters of a previouscommunication channel, then a task 212 may be performed. Task 212, liketask 206, prompts modem system 100 to begin a conventionalinitialization routine. In a preferred embodiment, if modem system 100verifies that the quick connect protocol is fully supported (query task204), then most, if not all, of the V.8bis procedure may be skipped.Accordingly, the V.8 capabilities exchange protocol may be prompted bytask 212. Thereafter, a task 214 may be performed to cause modem system100 to enter the conventional V.90 startup procedure. Task 214 issimilar to task 208 described above. If tasks 212 and 214 are performed,then the startup time associated with the communication session may bereduced by approximately three seconds, which is the typical time periodrequired to conduct the V.8bis procedures. Accordingly, even if querytask 210 determines that the current channel is not similar to aprevious channel, quick startup process 200 reduces the overallinitialization time of modem system 100.

If query task 210 finds that the current channel characteristics “match”the stored characteristics of a previously established channel, then atask 216 may be performed. An abbreviated training procedure isconducted during task 216. As described in more detail below, modemsystem 100 leverages the known characteristics of the current channelsuch that the modem devices can be immediately trained. For example,although the specific timing phase of digital impairments (e.g., robbedbit signaling) may be unknown, the types of digital impairments will beconsistent for repeated connections. Thus, in the context of a V.90modem system, the lengthy digital impairment learning procedure need notbe fully implemented. In addition, the initial training of equalizersand echo cancelers, and the initial determination of PCM codec transmitlevels and data rates need not be performed.

A task 218 may be performed to enable modem system 100 to operate at aninitial data rate. It should be appreciated that portions of thetraining associated with task 216 may be performed at the initial datarate associated with task 218. Modem system 100 is able to quicklyoperate at the initial data rate by recalling the initializationparameters associated with the previously stored channel. During task218, modem system 100 may perform final training of the equalizers andecho cancelers, exchange modulation parameters, and exchangeconstellation signal points for use during the full rate data mode. Inaccordance with the present invention, PPP data may be transmittedduring task 218 in connection with one or more final training sequences.For example, the PPP data may be associated with the exchange of log-inauthentication information, e.g., CHAP or PAP information. In view ofthe transmission of data during task 218, this portion of quick startupprocess 200 may be considered to be a first data mode or a data phaseone.

Following task 218, quick startup process 200 causes modem system 100 tooperate at a final data rate (task 220). In the context of thisembodiment, this portion of process 200 may be considered to be a seconddata mode or a data phase two. The transition between the initial andfinal data rates preferably occurs in a seamless manner; modem system100 employs a suitable signal timing or synchronization technique toenable such a data rate transition. During the full data mode, modemsystem 100 utilizes the signal point constellation exchanged during task218. Once modem system enters the final data mode, quick startup process200 ends.

FIG. 3 is a block diagram depicting an illustrative modem system 300configured in accordance with the present invention. Modem system 300 ispreferably configured to carry out quick startup process 200 and otherprocesses described herein. By way of example, modem system 300 isdescribed herein in the context of a 56 kbps or V.90 system (or a systemsubstantially similar to a V.90 system). However, it should beappreciated that the particular implementation shown in FIG. 3 is notintended to limit the scope of the present invention in any way.

Generally, modem system 300 includes a first modem, e.g., modem 302, anda second modem, e.g., modem 304. In the context of this description,modem 302 is considered to be a server modem and modem 304 is consideredto be a client modem (see FIG. 1). It should be appreciated that modems302 and 304 may be similarly configured such that both can function ineither a transmit or receive mode. Modems 302 and 304 are generallyconfigured in accordance with known principles to communicate over atelecommunication network, such as the public switched telephone network(“PSTN”) 306, via at least one communication channel (e.g., channels 308and 310). For purposes of this description, modem 302 is connecteddigitally to PSTN 306 while modem 304 is connected to PSTN via a centraloffice (not shown) and an analog local loop, as described above inconnection with FIG. 1. For the sake of clarity, FIG. 3 does not showthe various encoder, decoder, and other functional elements that wouldtypically be present in a practical modem system.

Modem 302 may include a processor element 312, while modem 304 mayinclude a processor element 314. In addition to the specific operationsdescribed herein, processors 312 and 314 are suitably configured tocarry out various tasks associated with the operation of modem system300. Indeed, modem system 300 may incorporate any number of processors,control elements, and memory elements as necessary to support itsfunctionality. Such processor, control, and memory elements may suitablyinteract with other functional components of modems 302 and 304 tothereby access and manipulate data or monitor and regulate the operationof modem system 300.

Processor 312 may be operatively associated with a quick connectconfirmation routine, which is illustrated as a functional block 322.Quick connect confirmation routine 322 may be employed during query task204 (see FIG. 2). Processor 312 is also operatively associated with anumber of training routines 324. Training routines 324 may be utilizedfor initial and/or final training of modem system 300. Training routines324 may be employed during task 216, as described above. Processor 312may also operate in conjunction with a dial-up authentication scheme326, e.g., information exchanging in accordance with PAP or CHAP. TheCHAP/PAP functionality may be alternatively (or additionally) realizedin one or more software applications maintained by the servercorresponding to modem 302. These illustrative operations are notintended to limit the applicability of processing element 312, which ispreferably configured to support any number of additional operations.

Modem 302 includes a transmitter 316, which is configured to transmitencoded symbols in accordance with conventional data transmissiontechniques. Such symbols may represent data, training sequences,synchronization signals, control signals, information exchangesequences, and any suitable communication signal utilized by modemsystem 300. Modem 302 also includes a receiver 318, which may beconfigured in accordance with any number of known modem technologies.Receiver 318 is configured to receive communication signals from modem304; such signals may include encoded information bits, control signals,information exchange sequences, training sequences, and the like.Receiver 318 may include or be functionally associated with an equalizerstructure 317 and an echo canceler structure 319. The configuration andoperation of equalizer structure 317 and echo canceler structure 319 maybe consistent with any number of conventional techniques, e.g., adaptivefiltering algorithms.

Modem 302 is preferably configured to generate, process, and transmitdifferent data and signals associated with the operation of modem system300. Such data, signals, and sequences may be suitably stored,formatted, and produced by any number of microprocessor-controlledcomponents. For illustrative purposes, FIG. 3 depicts a number of blocksrelated to different operational features of modem system 300; suchoperational features may have specific data sequences, control signals,or the like, associated therewith. Although a practical system mayprocess and transmit any amount of additional or alternative data, theparticular embodiment described herein functions in cooperation with atleast the following types of data: a transition sequence 328, an answersignal point sequence 330, authentication information 332, a quickconnect identifier 334, training information 336, and user data 338.This data, and the handling of the data by modem system 300, isdescribed in detail below.

Modem 302 also includes a suitable amount of memory 320 necessary tosupport its operation. Memory element 320 may be a random access memory,a read only memory, or a combination thereof. Memory element 320 may beconfigured to store information utilized by modem system 300 inconnection with one or more processes related to the present invention.For example, memory element 320 may be configured to store a suitableanswer signal point sequence 338. Memory 320 may store specific signalpoints, transmit levels, a pattern utilized to format a sequence fortransmission, or the like. In the preferred embodiment, answer signalpoint sequence 338 corresponds to sequence 330 (described above). Memoryelement 320 may also be configured to store a number of parametersrelated to the training of receiver 318. These receiver parameters,which are depicted as block 340, may be associated with theinitialization of equalizer structure 317 and/or echo canceler structure319. As a practical matter, memory element 320 may store informationrelated to the analog and/or digital characteristics, e.g., filter tapcoefficients, of equalizer structure 317 and echo canceler structure319, and transmit codec level estimates.

In accordance with a preferred embodiment of the present invention,memory element 320 is also capable of storing a number of parameters,attributes, and/or characteristics of a previously established channel(illustrated as a previous channel block 342). The previous channelparameters 342 may be stored at any suitable time during a communicationsession or periodically updated during a session. Indeed, modem 302 andmodem 304 may both be configured to save the current channel parametersto anticipate a temporary interruption, delay, or disconnectionassociated with the current communication session (whether suchinterruption, delay, or disconnection is intentional or unintentional).As described in more detail below, in response to a temporarydisconnection or pause in the modem data transmission mode, modem 302can be placed “on hold” until the communication session is to bereinitiated. At that time, modems 302 and 304 may access the storedchannel parameters rather than conduct a lengthy retrain procedure.

Modem 304 includes a receiver 350, which is operatively associated withan equalizer structure 352 and an echo canceler structure 354. Receiver350 is configured to receive communication signals from modem 302. Modem304 also includes a transmitter 356 configured to transmit communicationsignals to modem 302. These components of modem 304 may be similar tothe corresponding components of modem 302. Thus, for the sake ofbrevity, the description of features and functions that are common tomodems 302 and 304 will not be repeated in this description of modem304.

Processor 314 may be operatively associated with a quick connectconfirmation routine 358, one or more training routines 360, and adial-up authentication scheme 362. These processing functions aresimilar to the corresponding functions described above in connectionwith processor 312. In addition to these features, processor 314 may beoperatively associated with a digital impairment learning routine 364.Digital impairment learning routine 364 may be compatible with thedigital impairment learning procedure carried out by conventional V.90modems. Routine 364 may be utilized to enable modem 304 to analyze adigital impairment learning sequence transmitted by modem 302 and todetermine the types of digital impairments present in the communicationchannel and any timing phases associated with such digital impairments.Routine 364 may interact with a memory element 366 such that modem 304can store the digital impairment profile associated with a givencommunication channel. Routine 364 may enable modem 304 to selectappropriate signal points (or a signal point) that function toilluminate or highlight robbed bit signaling present in the channel. Forexample, if modem 304 determines that the network forces robbed bits(typically the least significant bit of a symbol) to zeros, then asignal point having a least significant bit of one may be selected suchthat the robbed bit signaling phases can be easily detected.

Processor 314 may also be configured to conduct a channel comparisonroutine 368, which may be performed during task 210 described above inconnection with FIG. 2. Channel comparison routine 368 preferablydetermines whether the characteristics of the current communicationchannel are similar to stored characteristics associated with apreviously established communication channel. In the context of thisdescription, the current channel is a repeated connection of thepreviously established channel, and a number of stored characteristicsmay be resident in memory element 366. Routine 368 is described in moredetail below.

As with processor 312, the illustrative operations set forth herein arenot intended to limit the applicability of processing element 314, whichis preferably configured to support any number of additional operations.

Like modem 302, modem 304 is configured to generate, process, andtransmit different data and signals associated with the operation ofmodem system 300. Such data, signals, and sequences may be suitablystored, formatted, and produced by any number ofmicroprocessor-controlled components. Although a practical system mayprocess and transmit any amount of additional or alternative data,transmitter section 356 is illustrated in conjunction with the followingtypes of data: a quick connect identifier 370, a transition sequencesignal point identifier 372, training information 374, authenticationinformation 376, and user data 378. This data, and the handling of thedata by modem system 300, is described in detail below.

As mentioned above, modem 304 includes a suitable amount of memory 366necessary to support its operation. Memory element 366 is similar tomemory element 320. In the preferred embodiment, memory element 366 isconfigured to store an answer signal point sequence 380 that is relatedto the corresponding answer signal point sequence 338 utilized by modem302. In this embodiment, the same answer signal point sequence ispredetermined and known at both modems 302 and 304. Memory element 366may also store a number of parameters, attributes, and/orcharacteristics of a previously established channel (illustrated as aprevious channel block 382). The previous channel parameters 382 may bestored at any suitable time during a communication session orperiodically updated during a session. Like memory element 320, memoryelement 366 may also be configured to store a number of parameters 384related to the training of receiver 350. These stored receiverparameters 384 are preferably accessed by modem 304 to effectivelyreduce the startup latency typically experienced with conventional V.90modem systems.

A number of features of the present invention contribute to thereduction in conventional V.90 modem startup and/or reconnect times,e.g., the elimination or abbreviation of the V.8bis procedure, theelimination or abbreviation of the initial training procedure, and theexchanging of login authentication data earlier in the initializationprocess (rather than waiting until the full data rate is achieved). Inone embodiment, the login authentication data is exchanged while themodem system is in an initially trained mode associated with anintermediate data rate. Any one of these (and other) features of thepresent invention may be implemented in modem system 300.

FIG. 4 is a flow diagram illustrating portions of a quick startupprocess 400 performed by two modem devices, and FIG. 5 is a timingdiagram 500 corresponding to an illustrative quick startup processperformed by two modem devices. Timing diagram 500 includes acronyms andabbreviations that are often used in the context of V.8, V.8bis, V.34,V.90, and other data communication protocols. The use of suchterminology herein is intended to illustrate the concepts of the presentinvention in the context of one practical embodiment. However, thepresent invention may be employed in any suitable context, and thespecific signals, number of sequences, timing of the sequences, datarates, and interaction between the two modem devices shown in FIG. 5 arenot intended to limit the scope of the invention in any way.

Quick startup process 400 is depicted in a manner that indicates tasksassociated with a client modem, e.g., an analog pulse code modulationmodem (“APCM”), and a server modem, e.g., a digital pulse codemodulation modem (“DPCM”). Similarly, timing diagram 500 shows thegeneral sequencing of signals transmitted by an APCM and a DPCM. In FIG.5, the arrows between the two major sequences represent responses orinteractions between the APCM and the DPCM.

Quick startup process 400 may begin with a task 402, which causes theAPCM to dial the telephone number associated with the DPCM. As describedabove, the call will be established over local loop 112, central office110, and digital telephone network 108 (see FIG. 1). In response to theinitial ring tone, the DPCM may be placed in an off hook state (task404), i.e., the DPCM will answer the call. Of course, the APCM and theDPCM may be configured to place, answer, and process calls in accordancewith conventional telephony protocols. Following task 404, a task 406may be performed to initialize a capabilities exchange protocol such asV.8 or V.8bis. In the embodiment described herein, a capabilitiesrequest signal (represented by CRe′ in FIG. 5) may be transmitted duringtask 406. The CRe′ signal may function to inform the APCM that the DPCMsupports the quick connect procedure. The CRe′ signal may be a modifiedversion of the conventional V.8bis signaling tones, e.g., the V.8bistones may be amplitude modulated. Alternatively, the frequencyassociated with a signaling tone may be jittered in a periodic manner ora low-level wideband signal may be added to a tone. In this manner,legacy modem systems will recognize the CRe′ signal as the normal V.8bisCRe signal.

In response to the establishment of a call associated with the currentcommunication channel, the APCM may perform a task 408 to suitablytransmit a quick connect identifier (QC) to the DPCM. In the practicalembodiment described herein, the transmission of the quick connectidentifier may be prompted in response to the detection of the CRe′signal by the APCM. The QC signal is preferably designed such thatlegacy modems and modems that do not support the quick connect protocolare not adversely affected by the QC signal, i.e., the QC signal shouldbe ignored by non-compatible devices. (If the APCM does not support thequick connect techniques described herein, then it will not generate theQC signal and the startup will proceed in a conventional manner, asdescribed above in connection with FIG. 2). In a preferred embodiment,the QC signal also conveys a signal point identifier that identifiessignal points (or one point) for use by the DPCM in a transitionsequence (represented by QTS and QTS\ in FIG. 5), where the signalpoints function to highlight, illuminate, or make apparent the digitalimpairments present in the communication channel. Thus, the QC signalsequence performs a dual function.

Assuming that the DPCM also supports the quick connect methodology, itpreferably performs a task 410 in response to the reception of the QCsignal. In connection with task 410, the DPCM transmits a quick connectacknowledgment (represented by the QCA signal in FIG. 5). As describedabove in connection with FIG. 2, if the DPCM does not acknowledge the QCsignal, or if the APCM somehow fails to receive the QCA signal, then themodem system will proceed with a conventional startup procedure. Theformat, configuration, and processing of the QC and QCA signals may becarried out by the respective portions of the individual modems, asdescribed above in connection with modem system 300 (see FIG. 3).

If the DPCM and the APCM both support the quick connect technique, thenany number of initialization routines may be eliminated, modified, orabbreviated, depending upon the specific application. For example, inthe context of a V.90 compatible modem system, the transmission of theQC signal may inherently indicate that the APCM is V.90 compliant.Similarly, the transmission of the QCA signal may inherently indicatethat the DPCM is also V.90 compliant. Consequently, the modem system mayeliminate portions or the entirety of the normal capabilities exchangeprotocol or protocols, such as V.8 and/or V.8bis. This feature by itselfcan reduce the startup latency by as much as five seconds (for a typicalconnection).

It should be appreciated that the quick connect identification andverification scheme described above in connection with task 402 throughtask 410 can be equivalently applied when the DPCM initiates the call tothe APCM. Such a situation may arise when, in response to an initialcall or request from the APCM, the DPCM calls the APCM to establish thecommunication channel. In this situation, the APCM will transmit theCRe′ signal, the DPCM will transmit the QC signal, and the APCM willtransmit the QCA signal. In contrast to the above description where theAPCM initiates the call, the APCM may transmit an additional signal orsequence to suitably identify the transition sequence signal points tothe DPCM (rather than embedding the signal points in the CRe′ or QCAsequences).

Following task 410, the DPCM may perform a task 412 to obtain the signalpoints (or point) for use in a transition (or synchronization) sequence.As discussed above, the QC signal preferably conveys information thatidentifies signal points that make the presence of robbed bit signalingeasily detectable by the APCM. The determination of the particularsignal points may be carried out by the APCM, as described above inconnection with the digital impairment learning procedure 364 (see FIG.3). This determination may be based on past analyses of the digitalimpairments associated with a previous connection over the same channel.Task 412 may be performed by processor 312 after the APCM receives theQC signal.

In response to task 412, a task 414 may be performed such that asuitable transition sequence is transmitted by the DPCM. In an exemplaryembodiment, the transition sequence includes positive and negativevalues of the signal points obtained in task 412. Accordingly, the DPCMmay utilize the signal points selected by the APCM and a suitable signpattern (which may be predetermined) to generate the transitionsequence. The transition sequence is configured and formatted such thatthe APCM, upon detecting the transmission sequence, can synchronizeitself to the subsequent signal or sequence transmitted by the DPCM. Inthis manner, the APCM receiver can obtain its timing from the transitionsequence. The transmission sequence may be of any predetermined lengthand have any predetermined sign pattern. For example, in the embodimentdepicted in FIG. 5, the transition sequence is represented by the quicktiming sequence (QTS) and QTS\ signals, where QTS represents a specificsignal point sequence and QTS\is the same sequence having oppositesigns. In FIG. 5, the QTS sequence is repeated for 810 symbols while theQTS\ sequence is repeated for 30 symbols.

In accordance with one practical embodiment of the present invention,the QTS sequence is formatted such that the period of the QTS rootsequence and the period of the robbed bit signaling (“RBS”) associatedwith the network connection have no common denominator (other than one).For example, one suitable QTS root sequence is0, +A, −A, +A, −A (where Arepresents a signal point that highlights the presence of RBS. Thus, forthe embodiment illustrated in FIG. 5, this QTS root sequence, which hasa period of five, is repeated 162 times while the QTS\ sequence includessix repetitions of the root QTS sequence with inverted signs.

For the above example, where the RBS period is assumed to be six, thereceived transition sequence may be subjected to a 30-point discreteFourier transform (“DFT”) to obtain the timing phase of the DPCM. Inaddition, the presence of RBS will be revealed at certain discretefrequencies associated with the DFT result. In this manner, timing andRBS information can be extracted from the received transition sequence.In addition, the timing phase information is obtained independently fromthe RBS information.

The DPCM is preferably configured to transmit a specific signal pointsequence during a task 416. The signal point sequence may be consideredto be a modified answer tone, as that term is understood by thosefamiliar with modem protocols. In FIG. 5, this signal point sequence isrepresented by the ANSpcm signal. As depicted in FIG. 3, a predeterminedANSpcm sequence 338 may be stored in memory element 320 for transmissionby transmitter section 316. In a practical. embodiment, the DPCMtransmits the ANSpcm signal following the transition sequence. This maybe desirable to enable the APCM to anticipate the signal point sequenceonce it detects the transition sequence. In other words, the detectionof the transition sequence by the APCM will indicate that the signalpoint sequence will follow.

In a preferred embodiment, the ANSpcm signal comprises a sequence ofpulse code modulation signal points or a sequence of signal pointsassociated with pulse code modulation signal points. For example, theANSpcm signal may be formatted as a sequence of mu-law or A-lawcodewords or a sequence of universal codewords (U-codes). The APCM andthe DPCM are preferably configured such that the ANSpcm signal ispredetermined and known prior to the initiation of quick startup process400. In an alternate embodiment, a number of different ANSpcm signalsmay be suitably stored in lookup tables or the ANSpcm signal may bedesigned by one of the modem devices and communicated in a suitablemanner to the other modem device prior to task 416. For example, theANSpcm signal may be designed such that the presence of RBS can beeasily detected by the APCM by analyzing the received ANSpcm signal. Insuch an embodiment, it may not be necessary for the transition sequence(QTS and QTS\) to identify or highlight the RBS.

In the context of V.8, the answer tone is generated as an amplitudemodulated 2100 Hz tone. In contrast, the present invention utilizes theANSpcm signal to generate a tone (e.g., a 2100 Hz tone) in a digitalmanner using pulse code modulation signal points. In other words, theANSpcm signal is a digital representation of an analog signal. TheANSpcm signal is preferably constructed with known pulse code modulationpoints such that the ANSpcm signal may be used for purposes other than amere answer tone. In a preferred embodiment, the ANSpcm signal includesmany of the available pulse code modulation points associated with theparticular telephone network. This aspect of the ANSpcm signal isdesirable such that the ANSpcm signal may be used to determine oridentify the characteristics of the current communication channel,particularly digital pads. The use of a large number of the possiblecodewords ensures that the ANSpcm signal will detect digital pads thatmay merge two input levels into one output level. The ANSpcm signal isalso configured to provide a tone suitable for disabling the networkecho cancelers and disabling the network echo suppressors.

As described above, the APCM anticipates the transmission of the ANSpcmsignal. The digital impairments and analog characteristics associatedwith the communication channel will affect the ANSpcm signal as it istransmitted from the DPCM to the APCM. A task 418 may be performed bythe APCM to obtain a received sequence that is related to the ANSpcmsignal point sequence. The APCM may then perform a task 420 to compare anumber of attributes of the received sequence with a number of storedattributes of a previously received sequence associated with apreviously established communication channel. In an illustrativeembodiment, the previously received sequence is a digital impairmentlearning (“DIL”) sequence, which is a line probing sequence. In thisrespect, task 420 determines whether a characteristic of the currentchannel is similar to a corresponding characteristic of a previouslyestablished channel. In a preferred embodiment, the channelcharacteristics compared in task 420 are related to the digitalimpairments in the channel. In other words, task 420 validates a currentdigital impairment channel profile with a stored digital impairmentchannel profile. Task 420 may be performed by a suitable processorelement of the APCM (see FIG. 3.).

During task 420, any measurable characteristic of the points/levels, anymeasurable characteristic of the received sequence as a whole, and/orany measurable signal or quantity associated with the points/levels maybe analyzed by the APCM. For example, any number of individual points orlevels contained in the received sequence may be compared tocorresponding points or levels stored at APCM (the stored points orlevels may be associated with a prior DIL procedure). If the receivedpoints/levels “match” the stored points/levels or if the differencesbetween the received and stored points/levels are within a certainthreshold, then the APCM may assume that the current channel attributesmatch the stored channel attributes (see query task 210 in FIG. 2).

The APCM may perform a procedure 421 to suitably obtain and save anumber of attributes or characteristics of a previously establishedconnection to the current channel. As described above, procedure 421 maycause the APCM to store the characteristics of the points/levelscontained in a received DIL sequence. These past values are thereafterused during task 420. In this respect, procedure 421 may update theprevious values with new DIL values after the comparison in task 420 iscompleted, e.g., in response to a subsequent DIL procedure associatedwith the current connection.

As described above in connection with FIG. 2, if task 420 determinesthat the channel characteristics do not sufficiently match, then themodem system may revert to a conventional V.90 startup procedure. FIG. 5illustrates that the APCM may fall back into the V.8 protocol andtransmit a conventional V.8 call menu (CM) message to the DPCM. Theconventional V.8 startup for the APCM then follows along a sequence 502.In response to the CM message, the DPCM generates a conventional V.8joint menu (JM) message and proceeds in accordance with the conventionalV.8 initialization (indicated by a sequence 504). For the sake ofillustration, quick startup process 400 assumes that task 420 determinesthat the current communication channel is similar to a previouslyestablished communication channel.

If the APCM validates the current channel characteristics with aprevious channel, then it may trigger a quick startup routine to furtherreduce the initialization time associated with the modem system.Alternatively, the DPCM may be configured to trigger the quick startuproutine. Accordingly, a task 422 may be performed, during which themodem system is initially trained. (For the sake of clarity and brevity,portions of task 422 and portions of the subsequent tasks may beperformed by both the APCM and the DPCM; quick startup process 400depicts such combined functionality in the context of single processtasks). Task 422 may cause the APCM and the DPCM to be initialized inresponse to a number of stored parameters associated with the previouslyestablished communication channel. As mentioned above, the storedparameters may be related to the initialization or training of theequalizers, echo cancelers, transmit power levels, initial signal pointconstellations, or the like. Task 422 may operate in conjunction withprocedure 421, which preferably functions to obtain and store theinitialization parameters associated with the previous connection. Inthis respect, procedure 421 may be suitably designed to periodicallysave such parameters during the normal data mode of the previousconnection, after a renegotiation process, or in response to anycondition or event associated with the previous communication session.Procedure 421 may also be configured such that erroneous settings orinitialization parameters are not inadvertently saved.

In the context of a typical V.90 connection, task 422 may be related toa two-point training phase. Using the previous parameters, the modemsystem may be able to skip or abbreviate the conventional V.90 Phase 2probing and ranging procedure and to skip or abbreviate the conventionalV.90 Phase 3 digital impairment learning and initial trainingprocedures. As shown in FIG. 5, the APCM and the DPCM may each transmittraining sequences (represented by the TRN1 signals) during task 422.These training signals may be utilized to adaptively adjust theequalizer and echo canceler filter taps and to otherwise facilitatetraining of the modem system. Thus, one of the most time consumingprocedures of a V.90 startup (the training of the APCM equalizer) can beperformed in an efficient manner that allows ample time for fine tuningand training.

In addition to the initial training that occurs during task 422, a task424 may be performed. During task 424, the modem system may conducterror correction and/or data compression protocols. In a conventionalV.90 modem system, the V.42 Recommendation is followed for purposes oferror correction and the V.42bis Recommendation is followed for purposesof data compression. For example, in a normal V.90 operating modeassociated with a PPP connection, the V.42 and V.42bis procedures areperformed after final training and before the CHAP/PAP authenticationprocedure. V.42 and V.42bis are performed prior to the CHAP/PAPprocedure because the CHAP/PAP procedure is better suited to an “errorfree” channel. In contrast to conventional V.90 systems, task 424 mayperform V.42bis during Phase 3 of the V.90 startup. The shifting ofV.42bis forward in the startup process contributes to the reduction inconnection time. In FIG. 5, the XID′ signal represents a modifiedversion of the conventional V.42 XID signal. For example, the XID′signal may utilize a subset of the XID parameters used to negotiatecompression and the like. Portions of the V.42bis procedure may also beconducted in connection with various modified signal sequences shown inFIG. 5. For example, the CPt′ signal may represent the conventional V.90CPt signal combined with one or more V.42bis signals.

In the preferred embodiment, the V.42bis procedures are performed toprovide a substantially “error free” channel. Following task 424, aCONNECT message is issued to the host software. The CONNECT messageindicates that the modem system is ready to transmit data at an initialdata rate at this time. The CONNECT message may be formatted, generated,and transmitted in accordance with known techniques.

In response to the CONNECT message, the host software begins a“simultaneous” upper layer protocol login procedure, e.g., a CHAP or PAPprocedure (task 428). Task 428 may be initiated automatically by thehost software or in response to a user entry. The CHAP/PAP datatransmission occurs in conjunction with a final training process. In thepreferred embodiment, the APCM and the DPCM transmit the CHAP/PAPauthentication data as scrambled digital data over the communicationchannel. The scrambling of the authentication data enables the modemdevices to perform final training on the authentication data. In aconventional V.90 modem system, the final training signals are formattedas scrambled “ones”. The scrambled ones carry no information; the finaltraining signal is merely utilized as a spectrally white source. Thepresent invention leverages the final training signals to carry userdata while the modem devices complete the training process. AlthoughCHAP/PAP data is one preferred form of user data, the present inventionis not limited to the transmission or exchange of authentication data.In addition, the particular scrambling algorithm may vary fromapplication to application.

In FIG. 5, the dual function signals are represented by the TRN2A/PPPand TRN2D/PPP signals. In this respect, the receiver sections in themodem devices may be trained at an initial data rate during a first timeperiod, e.g., during a data phase one, such that they may seamlesslytransfer to operating at a final data rate during a subsequent timeperiod, e.g., during a data phase two. Furthermore, the PPP log-inprocedure can be performed at the initial data rate during the firsttime period rather than after the modem system has been fullyinitialized.

During the initial data rate period, a task 430 may be performed toenable the APCM and the DPCM to exchange constellation parameters andmodulation parameters (represented by the CP and MP signals in FIG. 5)in a suitable manner. Task 430 may be performed in a conventional V.90manner. These parameters may be utilized by the modem devices during thesubsequent data mode. After the training and authentication proceduresare completed, the modem system preferably transitions to a full datarate in a seamless manner. A task 432 may be performed to conduct datatransmission at the full data rate. This period may be referred to asthe data phase two. Once the modem system enters the full data mode,quick startup process 400 ends.

In contrast to the conventional V.90 modem startup summarized in Table1, a modem system according to the present invention may experience areduced startup latency, as set forth in Table 2 below. Notably, thestartup time summarized in Table 2 is approximately half of the startuptime summarized in Table 1. The considerable reduction in startuplatency would be desirable in many situations, particularly in thecontext of a PPP dial-up internet connection using V.90 or legacy 56kbps modem systems.

TABLE 2 Quick V.90 Modem Startup PROTOCOL OPERATION TIME (seconds) —Dialing 1 — Call Establishment 1 V.8bis (abbreviated) CapabilitiesExchange 1 — Modified Answer Tone 1 V.90 Phase 3 + Initial APCMTraining; 2.5 V.42/V.42bis Error Correction; Data Compression V.90 Phase4 + Login Final APCM Training; 2–5 Set Power Levels; ConstellationTransmission; Username & Password TOTAL = 8.5–11.5

The techniques of the present invention may be implemented in othercontexts to reduce the reinitialization time associated with reconnectsafter a line corrupting event or a channel interruption. For example,many telephone customers subscribe to call waiting, calleridentification, and other telephony services. However, such services maybe disabled or nonfunctional if the telephone line is being utilized fora modem connection. If call waiting is not disabled during a modemconnection, then the signal tones may interrupt the modem connection. Ifthe user decides to answer the waiting line, then the off-hook andon-hook flash may cause the modem system to retrain its receivers orprompt a full reconnect procedure.

Rather than perform a time consuming reconnect or retrain procedure, amodem system may be configured to utilize stored analog and digitalimpairment information, equalizer settings, power levels, echo cancelersettings, constellations, and the like. Such stored information can beused to immediately reset the modem system parameters if the channelconnection is interrupted by a call waiting procedure, by an off-hookcondition at an extension telephone device, by a caller identificationrequest, or by any channel corruption event, whether such event isplanned or unintentional. In this scenario, both the client modem andthe server modem may store the relevant system attributes, modemoperating parameters, channel characteristics, and/or networkcharacteristics.

In one practical example, in response to a call waiting tone, the clientmodem may signal the server to enter a standby mode. The server modemcan then switch into an FSK mode to suitably detect the Class 2 calleridentification information while the server idles. If the user wants toanswer the second call, then the client modem may periodically transmitstandby signals or heartbeat tones to the server to instruct the serverto continue holding. When the second call ends and the user desires tocommence the data call, the client modem would commence a quickreconnect handshaking protocol (described below). On the other hand, ifthe user wants to terminate the first call, then a clear down messagemay be sent (alternatively, the periodic hold signal may end).

The quick reconnect handshake causes the modem devices to recall thesaved parameters and attributes of the “held” channel and the savedoperating parameters associated with the modem devices, as describedbriefly above in connection with previous channel parameters 342 and382. With this technique, the modem system can be reconnected in amatter of seconds. Thus, the data mode user will not suffer the longreconnect penalty after handling an incoming call waiting or calleridentification signal. The data mode user, using call waiting in thisfashion, would be capable of accepting intermittent interruptionswithout noticeable delays associated with the modem connection.

This feature may be utilized to simulate an “always connected” mode withconventional PPP modem connections. For example, pertinent channelcompensation information may be periodically saved for a givenconnection between a client modem and a server modem. The client usermay answer incoming second line calls while pausing the data mode asdescribed above. In addition, the data mode may be gracefully terminatedif the client user initiates an outgoing voice call. After the voicecall terminates, the client modem may re-dial or otherwise re-contactthe server modem and establish a quick connection using the storedparameters.

FIG. 7 is a flow diagram illustrating portions of a quick reconnectprocess 700 performed by two modem devices, and FIG. 6 is a timingdiagram 600 corresponding to an illustrative quick reconnect processperformed by two modem devices. Timing diagram 600 may include acronymsand abbreviations that are often used in the context of conventionaldata communication protocols. The use of such terminology herein isintended to illustrate the concepts of the present invention in thecontext of one practical embodiment. However, the present invention maybe employed in any suitable context, and the specific signals, number ofsequences, timing of the sequences, data rates, and interaction betweenthe two modem devices shown in FIG. 6 are not intended to limit thescope of the invention in any way.

Quick reconnect process 700 may be performed by a modem system aftersuch modem system has established a communication session and,typically, after the modem system has entered a full-rate data mode. Forpurposes of this description, it may be assumed that the modem system isconfigured as described above (or is configured in an appropriate mannerto support the various process tasks described below). It may be assumedthat the two modem devices that perform process 700 are compatible withthe quick reconnect techniques described herein. Thus, process 700 neednot perform any verification or signaling to determine whether the quickreconnect procedure can be carried out.

Although not a requirement of quick reconnect process 700, the modemsystem may have been initialized in accordance with the quick startuptechniques set forth above. Accordingly, process 700 assumes that bothmodem devices have stored any number of appropriate channelcharacteristics, receiver parameters, and other information relevant tothe initialization, training, and synchronization of the modem system.As described above, such information may be suitably saved during astartup procedure or periodically during a suitable data mode. Process700 may be utilized to enable the current modem connection to be quicklyre-established following a temporary pause in the modem data mode or anyinterrupting event. In this context, a practical system can maintain acommunication link or connection between the modem devices whileallowing a user of the client modem device to temporarily pause themodem connection (or the modem data communication mode). During thetemporary holding period, the user may be able to answer anotherincoming call in response to a call waiting signal, initiate a newoutgoing call, or the like, while the client side modem device idles.

Quick reconnect process 700 may begin with a task 702, during which areconnect indication is received by the DPCM (e.g., modem 302 shown inFIG. 3). The reconnect indication may be generated in response to arequest (e.g., a user-initiated request) to terminate a temporary pausein the modem communication session. For example, a suitable reconnectsignal may be generated by the APCM (e.g., modem 304) in response to ahook flash initiated by the user of the APCM or in response to aninstruction generated by application software associated with the APCM.Alternatively, the APCM or a data access arrangement (DAA) associatedwith the APCM may generate a reconnect signal in response to a change inline current related to the on-hook status of telephone set. Suchline-in-use detection techniques are generally known to those skilled inthe art. The reconnect indication informs the DPCM that the user desiresto re-establish the current modem connection, which has been placed ontemporary hold. In a practical embodiment, the DPCM receives thereconnect indication and initiates a task 704 in response to thereconnect indication.

During task 704, the DPCM transmits a suitable reply signal thatpreferably informs the APCM that the quick reconnect procedure issupported. In the illustrative embodiment described herein, such a replysignal may include a suitable transition sequence as described above.Accordingly, quick reconnect process may perform a task 704, which maybe similar to task 414 described above in connection with FIG. 4. Forexample, task 704 may cause the DPCM to transmit the QTS signal toenable the APCM to again determine the timing phase of the DPCM (the QTSsignal is identified by reference number 602 in FIG. 6). In addition,the retransmission of the QTS signal enables the APCM to obtain RBScharacteristics of the data communication network (if necessary ordesirable to do so).

It should be noted that, for many practical modem connections, thenetwork connection (and the associated effects of digital pads and RBS)will remain consistent during the modem hold period. Of course, theremay be some situations where the network connection is cleared downduring the modem hold period to conserve network resources. In suchsituations, particularly if the same network connection is notre-established, the digital impairment profile of the network may notremain consistent. Furthermore, even if the network characteristics donot change, the APCM may lose its RBS synchronization if the modemconnection is put on hold particularly if the APCM does not receive asignal from the DPCM during the holding period). In this respect, evenif the APCM can properly resynchronize itself to the network clock aftera holding period, the specific RBS phases may still be unknown.Accordingly, quick reconnect process 700 is preferably arranged tocontemplate that the network connection and the RBS timing has changed.

The reply signal may also include a suitable signal point sequence thatfollows the transition sequence. Accordingly, following task 704, theDPCM may perform a task 706 to suitably transmit a signal point sequenceto the APCM. As described above in connection with task 416, the signalpoint sequence may be considered to be a modified answer tone, e.g., theANSpcm signal (identified by reference number 604 in FIG. 6). The ANSpcmsignal 604 may be configured as described above, e.g., the ANSpcm signal604 may be suitably formatted to enable the APCM to determine oridentify the characteristics of the current communication channel ornetwork, particularly digital pads and/or other digital impairments. TheANSpcm signal 604 is also configured to provide a tone suitable fordisabling the network echo cancelers and disabling the network echosuppressors.

In a practical embodiment, the APCM anticipates the transmission of theANSpcm signal 604. For example, the APCM may be configured to conditionits receiver to receive the ANSpcm signal 604 after it transmits thereconnect indication to the DPCM. Accordingly, quick reconnect process700 may include a query task 708, which preferably determines whetherthe ANSpcm signal 604 has been received by the APCM and/or whether theDPCM receives a suitable acknowledgment that the APCM received theANSpcm signal 604. If not, then process 700 may exit and the modemsystem may proceed with a traditional reconnection routine. If querytask 708 determines that the ANSpcm signal 706 was properly received,then the APCM may process the received signal as described above toenable the APCM to determine the digital impairments associated with there-established channel.

A task 710 is preferably performed to cause both modem devices to recalland obtain the characteristics and parameters associated with theprevious channel connection, i.e., the channel before the modemconnection was placed on temporary hold. Task 710 may cause the DPCM toaccess previous channel information 342 and may cause the APCM to accessprevious channel information 384. As described above, this informationmay include one or more parameters related to: the current channelconditions (as previously determined), any number of settings associatedwith the modem receivers, characteristics of the communication network,or the like. Task 710 enables the modem system to quickly retrieve thesestored parameters and reset the modem devices in an appropriate mannerin lieu of an independent reassessment of the channel and in lieu of afull retraining process. Task 710 may be performed by the DPCM once itreceives the reconnect identifier from the APCM, while task 710 may beperformed by the APCM before it receives the ANSpcm signal 604. If task710 is performed by the ACPM, the APCM equalizers are initializedaccording to the previous channel information 384 such that the ANSpcmsignal 604 can be properly received and analyzed.

The DPCM may reacquire its timing synchronization in accordance with anynumber of techniques, such as the conventional V.34 half-duplex primarychannel resynchronization procedure set forth in ITU-T RecommendationV.34 (International Telecommunication Union, September 1994), which isincorporated by reference herein. In other words, as shown in FIG. 6,the APCM may be configured to transmit a PP signal 610 to enable theDPCM receiver to synchronize its timing recovery and carrier recovery.The S and S\ preamble signals (reference numbers 606 and 608,respectively) may be used to initialize an automatic gain controlelement or the like. The B1 signal 612 may be considered to be apreamble sequence that may be employed to initialize the DPCM scrambler,trellis coder, and the like. These signals and sequences are set forthin detail in the V.34 Recommendation and will not be described in detailherein.

Concurrently, the DPCM may transmit an R signal 616 followed by an R\signal 618 and a BI signal 620. These sequences also serve as suitablepreamble sequences that enable the APCM to prepare for the data mode.These signals and sequences are set forth in detail in the V.90Recommendation and will not be described in detail herein.

In response to the resynchronization sequences, the modem system entersthe data mode and the system can begin transmitting data at the fulldata rate (task 712). In other words, the data transmission mode isre-established without completely clearing down the previous connection.The data mode is identified by sequences 614 and 620 in FIG. 6. Notably,in contrast to quick startup process 400, quick reconnect process 700need not perform a comparison of the channel characteristics (see task420), an initial training procedure (see task 422), an error correctionand data compression procedure (see task 424), a final trainingprocedure (see task 428), an authentication exchange (see task 428), oran exchange of constellation and modem parameters (see task 430). Withrespect to the PAP/CHAP authentication information, the modem system maybe suitably configured to maintain the PPP/TCP/IP protocol layer duringthe hold period such that the PPP authentication data need not beretransmitted. Accordingly, the modem system may re-establish its modemconnection without wasting time performing several traditionalinitialization tasks. In a typical practical system, the quick reconnectprocess can be employed to reestablish the data mode in less than 1.5seconds.

An alternate version of the quick reconnect procedure may employ atiming diagram similar to timing diagram 500 (see FIG. 5). However, insuch an embodiment, several of the signal segments described above inconnection with timing diagram 500 can be reduced in length, thusreducing the conventional reconnect time. For example, the various TRNtraining sequences and the parameter exchange signals may be shortenedconsiderably because they need not convey essential information. Forpractical implementation reasons, it may be desirable to keep thegeneral sequence structure intact in this manner (instead of eliminatingsegments from timing diagram 500). Indeed, from a softwareimplementation standpoint, segment lengths can be adjusted in arelatively straightforward manner, while the removal of entire segmentsfrom an existing protocol may be a time consuming and arduous task.Although the reconnect time for such an alternate embodiment may belonger than that described above in connection with timing diagram 600(e.g., up to 2.5 seconds), it is still significantly less than the timerequired to perform a conventional reinitialization procedure.

In summary, the present invention provides techniques to reduce theinitialization period and reconnect period normally associated with aV.90 modem system. The quick startup and quick reconnect techniquesleverage the known channel characteristics of a previous connection toreduce the training time associated with subsequent attempts toestablish the same connection. Although not limited to any specificmodem application, the quick startup procedure may be used to eliminateportions of the initialization protocols or processes normally employedby a 56 kbps modem, e.g., V.8bis, V.8, digital impairment learning,initial training, probing and ranging, or the like. In addition, thequick startup technique may perform certain operations at a differenttime or in a different order in comparison to a conventional modemstartup technique.

The present invention has been described above with reference to apreferred embodiment. However, those skilled in the art will recognizethat changes and modifications may be made to the preferred embodimentwithout departing from the scope of the present invention. These andother changes or modifications are intended to be included within thescope of the present invention, as expressed in the following claims.

1. A method of reducing time for use by a first modem to reconnect to asecond modem via a communication channel, said method comprising thesteps of: receiving a first digital impairment learning sequence fromsaid second modem over said communication channel; determining first oneor more digital impairment attributes of said communication channelbased on analyzing said first digital impairment learning sequence;interrupting said communication channel; terminating said interrupting;receiving an signal point sequence from said second modem; determiningsecond one or more digital impairment attributes of said communicationchannel based on analyzing said signal point sequence; and initializingsaid first modem with said one or more parameters to reconnect to saidsecond modem if said first one or more digital impairment attributes aresimilar to corresponding said second one or more digital impairmentattributes.
 2. The method according to claim 1, wherein said signalpoint sequence is a modified answer tone.
 3. The method according toclaim 1, wherein said modified answer tone is an ANSpcm signal.
 4. Themethod according to claim 1, further comprising: obtaining one or moreparameters for initializing said first modem for connection over saidcommunication channel; storing said one or more parameters at said firstmodem; wherein said terminating said interrupting comprises transmittinga reconnect indication after said interrupting and wherein said signalpoint sequence is received from said second modem in response to saidreconnect indication.
 5. The method according to claim 1, furthercomprising storing said first one or more digital impairment attributesof said communication channel at said first modem.
 6. The methodaccording to claim 1, wherein said interrupting disconnects said firstmodem from said second modem.
 7. The method according to claim 6,wherein said terminating includes dialing a phone number associated withsaid second modem.
 8. The method according to claim 1, wherein saidinterrupting places communication between said first modem and secondmodem on hold.
 9. The method according to claim 8, wherein saidterminating is performed without dialing a phone number associated withsaid second modem.
 10. The method according to claim 1, wherein saidfirst one or more digital impairment attributes include firstpoints/levels, and second one or more digital impairment attributesinclude second points/levels, wherein similarity is determined bycomparing said first points/levels with said second points/levels. 11.The method according to claim 1, wherein said one or more of parameterscomprise data associated with a signal point constellation for saidfirst modem.
 12. The method according to claim 1, wherein said one ormore of parameters comprise data associated with echo canceler settingsfor said first modem.
 13. The method according to claim 1, wherein saidone or more of parameters comprise data associated with power levelsettings for said first modem.
 14. The method according to claim 1,wherein said one or more of parameters comprise data associated withequalizer settings for said first modem.
 15. The method according toclaim 1, further comprising a step of receiving a reply signal prior tosaid receiving said ANSpcm signal, wherein said reply signal comprisinga transition sequence configured to enable said first modem todetermined robbed bit signaling characteristics of said communicationchannel.
 16. A computer readable medium including computer softwareprogram executable by a processor in a first modem for implementing amethod of reducing time for use by the first modem to reconnect with asecond modem over a communication channel, said computer softwareprogram comprising: code for receiving a first digital impairmentlearning sequence from said second modem over said communicationchannel; code for determining first one or more digital impairmentattributes of said communication channel based on analyzing said firstdigital impairment learning sequence; code for interrupting saidcommunication channel; code for terminating said interrupting; code forreceiving an signal point sequence from said second modem; code fordetermining second one or more digital impairment attributes of saidcommunication channel based on analyzing said signal point sequence; andcode for initializing said first modem with said one or more parametersto reconnect to said second modem if said first one or more digitalimpairment attributes are similar to corresponding said second one ormore digital impairment attributes.
 17. The computer software program ofclaim 16, wherein said signal point sequence is a modified answer tone.18. The computer software program of claim 16, wherein said modifiedanswer tone is an ANSpcm signal.
 19. The computer software program ofclaim 16, further comprising: code for obtaining one or more parametersfor initializing said first modem for connection over said communicationchannel; code for storing said one or more parameters at said firstmodem; wherein said code for terminating said interrupting comprisescode for transmitting a reconnect indication after said interrupting andwherein said signal point sequence is received from said second modem inresponse to said reconnect indication.
 20. The computer software programof claim 16, further comprising code for storing said first one or moredigital impairment attributes of said communication channel at saidfirst modem.
 21. The computer software program of claim 16, wherein saidcode for interrupting disconnects said first modem from said secondmodem.
 22. The computer software program of claim 21, wherein said codefor terminating includes dialing a phone number associated with saidsecond modem.
 23. The computer software program of claim 16, whereinsaid code for interrupting places communication between said first modemand said second modem on hold.
 24. The computer software program ofclaim 23, wherein said code for terminating is performed without dialinga phone number associated with said second modem.
 25. The computersoftware program of claim 16, wherein said one or more parametersinclude a receiver parameter.
 26. The computer software program of claim16, wherein said one or more stored parameters include a parameterassociated with said communication channel.